1. Field of the Invention
The present invention generally relates to computer systems, and more particularly to a method and system for viewing or examining documents transmitted across a computer network. The present invention is adapted for use with the Internet's World Wide Web, but it is generally applicable to any network which provides files or "pages" having embedded links (such as hypertext links) that allow the retrieval of other pages.
2. Description of Related Art
A generalized client-server computing network 2 is shown in FIG. 1. Network 2 has several servers 4, 6, 8 and 10 which are interconnected, either directly to each other or indirectly through one of the other servers. Each server is essentially a stand-alone computer system (having one or more processors, memory devices, and communications devices), but has been adapted (programmed) for one primary purpose, that of providing information to individual users at workstation clients 12. A client is a member of a class or group of computers or computer systems that uses the services of another class or group to which it is not related. Clients 12 can also be stand-alone computer systems (like personal computers, or PCs), or "dumber" systems adapted for limited use with network 2 (like network computers, or NCs). As used herein, "PC" generally refers to any multi-purpose computer adapted for use by a single individual, regardless of the manufacturer, hardware platform, operating system, etc. A single, physical computer can act as both a server and a client, although this implementation occurs infrequently.
The information provided by a server can be in the form of programs which run locally on a given client 12, or in the form of data such as files used by other programs. Users can also communicate with each other in real-time as well as by delayed file delivery, i.e., users connected to the same server can all communicate with each other without the need for the network 2, and users at different servers, such as servers 4 and 6, can communicate with each other via network 2. The network can be local in nature, or can be further connected to other systems (not shown) as indicated with servers 8 and 10.
The construction of network 2 is also generally applicable to the Internet. In the context of a computer network such as the Internet, a client is a process (i.e., a program or task) that requests a service which is provided by another program. The client process uses the requested service without having to "know" any working details about the other program or the service itself. Based upon requests by the user, a server presents filtered electronic information to the user as server responses to the client process.
Conventional protocols and services have been established for the Internet which allow the transfer of various types of information, including electronic mail, simple file transfers via FTP, remote computing via TELNET, gopher searching, Usenet newsgroups, and hypertext file delivery and multimedia streaming via the World Wide Web (WWW). A given server can be dedicated to performing one of these operations, or running multiple services. Internet services are typically accessed by specifying a unique address, or universal resource locator (URL). The URL has two basic components, the protocol to be used, and the object pathname. For example, the URL "http://www.uspto.gov" (home page for the U.S. Patent & Trademark Office) specifies a hypertext transfer protocol ("http") and a pathname of the server ("www.uspto.gov"). The server name is associated with a unique numeric value (a TCP/IP address, or "domain").
The present invention relates to the display or examination of interrelated files on a network like the Internet, but is particularly applicable to the World Wide Web, which provides files that are conveniently linked for user access. As illustrated in FIG. 2, a group 14 of documents or "pages" 16a-16h are interrelated by providing hypertext links in each of the files. A hypertext link is an image that is viewable on the workstation's display 18, which can be selected by the user (e.g., using a pointing device or "mouse") and which then automatically instructs client workstation 12 to request another page associated with that particular hypertext link (i.e., issue another URL). A hypertext link may appear as a picture, or as a word or sentence, possibly underlined or otherwise accentuated to indicate that it is an embedded link and not just normal, informative text.
A WWW page may have text, graphic (still) images, and even multimedia objects such as sound recordings or moving video clips. A hypertext page, if more than just text, is usually constructed by loading several separate files. For example, the hypertext file "main.html" might include a reference to a graphic image file "picture.gif" or to a sound file "beep.wav". When a client workstation 12 sends a request to a server for a page, such as page 16a, the server first transmits (at least partially) the main hypertext file associated with the page, and then loads, either sequentially or simultaneously, the other files associated with the page. A given file may further be transmitted as several separate pieces via TCP/IP protocol. The fully constructed page is then displayed on the workstation monitor 18 as shown in FIG. 2. A page may be "larger" than the physical size of the monitor screen, and techniques such as scroll bars are used by the viewing software (the web browser) to view different portions of the page.
One deficiency of conventional web browsers is that, when a user takes a link, an entirely new page is loaded in the browser, which completely replaces the old page. The old page is not displayed simultaneously with the new page, although the user can easily flip back and forth between the two pages (whose contents are commonly cached on the client), using the familiar browser commands "forward" and "backward." Nonetheless, it is often desirable to see both the original page and the linked page at the same time, but this is not possible with prior art web browsers unless complicated steps are taken. For example, two different browser windows can be opened; some browsers allow multiple parent windows while others only allow multiple children windows. In either implementation, additional user involvement is required, and the construction and display of the separate window takes additional system resources. It may also be difficult to arrange the two windows on the display so as to satisfactorily view or scroll through the two pages. Similarly, each page must be printed separately even though it might be desirable to print them together as a unitary document.
One innovation in web browsers allows the simultaneous display of multiple fields or "frames" within a single browser window, but this feature cannot be used to simultaneously display an original page and a linked page. Rather, all of the frames within the window collectively constitute the "page" or document, so when a hypertext link in any given frame is selected, this original page is still replaced. In other words, selection of the link will result in (i) the contents of at least one of the frames being substantially replaced (usually the frame that contained the link), if not all of the frames, (ii) the frames being redesigned along with the replacement of their contents, or (iii) the complete elimination of frames, with replacement by a new (single-frame) page. In light of the foregoing, it would be desirable to provide a more convenient method of allowing a network user (web surfer) to display or examine linked pages. It would be further advantageous if multiple web pages could be combined for any number of links, placing all of the referenced information in context.